package com.example.hxds.bff.driver.feign;

import com.example.hxds.bff.driver.controller.form.*;
import com.example.hxds.common.util.R;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;
import java.util.HashMap;

/**
 * @ClassName: DrServiceApi
 * @Description: 远程调用hxds-dr客户端
 * @Author: 丛雨
 * @Date: 2024/1/13 19:23
 */
@FeignClient(value = "hxds-dr")
public interface DrServiceApi {
    @PostMapping("/driver/registerNewDriver")
    R registerNewDriver(@RequestBody @Valid RegisterNewDriverForm form);

    @PostMapping("/driver/updateDriverAuth")
    R updateDriverAuth(@RequestBody @Valid UpdateDriverAuthForm form);

    @PostMapping("/driver/createDriverFaceModel")
    R createDriverFaceModel(@RequestBody @Valid CreateDriverFaceModelForm form);

    @PostMapping("/driver/login")
    R login(@RequestBody @Valid LoginForm form);

    @PostMapping("/driver/searchDriverBaseInfo")
    R searchDriverBaseInfo(@RequestBody @Valid SearchDriverBaseInfoForm form);

    @PostMapping("/settings/searchDriverSettings")
    R searchDriverSettings(@RequestBody @Valid SearchDriverSettingsForm form);

    @GetMapping("/driver/searchDriverRealAuth")
    R searchDriverRealAuth(@RequestBody @Valid SearchDriverRealAuthForm form);

    @GetMapping("/driver/searchDriverAuth")
    R searchDriverAuth(@RequestBody @Valid SearchDriverAuthForm form);
}
